{
  "directed": true,
  "name": "CrossChainTwoPhase",
  "strict": false,
  "attrs": {
    "rankdir": "LR"
  },
  "nodes": [
    {
      "id": "\\n",
      "attrs": {}
    }
  ],
  "edges": [
    {
      "source": "req",
      "target": "initPay",
      "attrs": {
        "style": "dashed",
        "arrowhead": "vee",
        "label": "\"call\""
      }
    },
    {
      "source": "msg",
      "target": "cont",
      "attrs": {
        "style": "dashed",
        "arrowhead": "vee",
        "label": "\"callback\""
      }
    }
  ],
  "subgraphs": [
    {
      "name": "cluster_trade",
      "attrs": {
        "label": "\"LANE: Trade SC (Chain A)\"",
        "style": "\"rounded\"",
        "color": "\"#888888\""
      },
      "nodes": [
        {
          "id": "start",
          "attrs": {
            "shape": "circle",
            "label": "\"START\""
          }
        },
        {
          "id": "req",
          "attrs": {
            "label": "\"Request\\\\nPayment\""
          }
        },
        {
          "id": "cont",
          "attrs": {
            "label": "\"Continue trade\\\\non success\""
          }
        },
        {
          "id": "end",
          "attrs": {
            "shape": "doublecircle",
            "label": "\"END\""
          }
        },
        {
          "id": "\\n",
          "attrs": {}
        }
      ],
      "edges": [
        {
          "source": "start",
          "target": "req",
          "attrs": {}
        },
        {
          "source": "req",
          "target": "cont",
          "attrs": {}
        },
        {
          "source": "cont",
          "target": "end",
          "attrs": {}
        }
      ],
      "subgraphs": []
    },
    {
      "name": "cluster_helper",
      "attrs": {
        "label": "\"LANE: Payment Helper / Bridge (Chain A)\"",
        "style": "\"rounded\"",
        "color": "\"#888888\""
      },
      "nodes": [
        {
          "id": "initPay",
          "attrs": {
            "label": "\"initiatePayment(\\\\nreqId, payee, amount\\\\n)\""
          }
        },
        {
          "id": "msg",
          "attrs": {
            "label": "\"(Message)\\\\nonPaymentResult(\\\\nreqId, success/fail\\\\n)\""
          }
        },
        {
          "id": "\\n",
          "attrs": {}
        }
      ],
      "edges": [
        {
          "source": "initPay",
          "target": "msg",
          "attrs": {
            "style": "dashed",
            "label": "\"perform payment /\\\\nbridge steps\""
          }
        }
      ],
      "subgraphs": []
    }
  ]
}